World wide analog video standards, such as NTSC and PAL, use interlaced video formats to maximize the vertical refresh rates while minimizing the required transmission bandwidth. In an interlaced video format, a source video frame includes a plurality of pixels that are arranged in a plurality of horizontal scan lines. Each frame is split into two video fields of opposite parity. The first of the two fields includes the pixels located in the odd numbered horizontal scan lines, and is referred to as an odd parity field, while the second field includes the pixels located in the even numbered scan lines, and is referred to as an even parity field.
Well known techniques, such as 3:2 pull-down or 2:2 pull-down, are used to break an original progressive frame into interlaced video fields while maintaining a compatible frame rate. For example, the 3:2 pull-down technique is used when the source, i.e., original, video signal has a frame rate of 24 frames/sec and the transmission rate of the interlaced video signal is 60 fields/sec. A first source frame is converted into three (3) fields, two of which have the same parity, and a second source frame is converted into two fields of opposite parity. By converting the first and second source frames in this manner, five (5) fields are transmitted at a rate of 60 fields/sec for every two (2) frames received at a rate of 24 frames/sec, thereby maintaining compatible frame/field rates. The interlaced video fields are transmitted sequentially in temporal order to a display system, thereby minimizing the transmission bandwidth.
An exemplary progressive video signal display system, e.g., a television (TV) or a projector, is illustrated in FIG. 1A. As is shown, the display system 20 includes a signal receiving unit 22 that is coupled to a tuner box 24, and a video decoder 28. Signals, such as television signals comprising interlaced video fields, are captured by the signal receiving unit 22 and transmitted to the tuner box 24. The tuner box 24 includes a converter 25 and a demodulation unit 26 that transforms the incoming signal into an analog signal. The analog signal 27 is received by the video decoder 28, which outputs an interlaced video signal 29 corresponding to the interlaced video fields.
The display of interlaced video fields by the display system 20 can produce undesirable visual artifacts, such as line flicker and line crawling. The visual artifacts can be minimized and the appearance of an interlaced image can be improved by de-interlacing the fields to convert them into a progressive format. Accordingly, a video processing unit 30 typically receives the interlaced video signal 29 and de-interlaces the interlaced video signal 29 to generate a progressive video output signal 32 corresponding to the de-interlaced video frames.
The progressive video output signal 32 can be transmitted to a display 34 for presentation. Nonetheless, high definition displays 34, such as LCD TVs, require a display frequency of at least 120 frames/sec. Accordingly, additional frames must be created and inserted between input frames to achieve a display frequency of at least 120 frames/sec. For example, the following table indicates the number of additional frames needed for typical input frame rates.
TABLE AInputNumber of(source)Additional Framesframe rateInserted Between (frames/sec)Input Frames244303601
A frame rate converter (FRC) unit 33 is typically used to change the output frame rate so that the progressive video signal 32 can be scanned at the display frame rate of at least 120 frames/sec. In one technique, certain frames are merely copied and inserted between input frames to achieve the requisite display frequency. This technique, however, results in undesirable visual artifacts, such as, motion judder and blurring.
In another technique, the FRC unit 33 is configured to add frames by interpolating pixels values in an interpolated frame based on pixel information of temporally neighboring frames, e.g., temporally preceding and proceeding frames. For example, in one approach, a pixel value in the interpolated frame can be determined based on one or both of corresponding pixels in a preceding (previous) frame and a proceeding (current) frame. While this approach is simple and may be effective when objects in the scene are stationary, it can produce visual artifacts when objects in the scene are in motion.
In another approach, the current frame can be divided into a grid of contiguous blocks comprising a matrix of pixels. For each block in the current frame, a forward motion vector can be determined between a block in the previous frame and a matching block in the current frame. For example, the matching block in the previous frame can be identified by comparing the pixel values in a block in the current frame with pixel values in the blocks in the previous frame. When a block in the previous frame includes pixel values that match those pixel values in the block in the current frame, the matching block is determined and a forward motion vector, pointing from the block in the previous frame to the matching block in the current frame, can be generated, as illustrated in FIG. 1B.
After motion estimation and if no scene change is detected, frame interpolation can be performed using the forward motion vectors generated for each block. Film mode detection will tell how many frames need be interpolated between the current and previous frames. If N frames will be interpolated, then each forward motion vector can be scaled 1/(N+1) times, and the scaled forward motion vectors can be used to interpolate each pixel in each interpolated frame. For example, in FIG. 1B, one (1) frame is interpolated and the forward motion vector is scaled by one-half (½) so that the matched block in the interpolated frame is positioned in a location at the middle of the forward motion vector. All blocks in the previous frame can be matched to blocks in the current frame in this way in raster scan order, and corresponding interpolated blocks can be placed in the interpolated frame.
In some cases, however, it is not desirable to have a portion of the interpolated frame to be filled with pixels interpolated from a scaled forward motion vector. For example, conventional pixel interpolation can produce undesirable visual effects when the frame content includes an on-screen display (OSD) object that is superimposed on the frame content. Such OSD objects can be, for example, a graphical logo of a product, and a closed captioning block. In this case, when a pixel at or near an OSD object is interpolated using the scaled forward motion vector, the edge of the OSD object in the interpolated frames can become blurred and/or distorted. Because the human eye is particularly sensitive to variations along sharp boundaries, the distortion of the edge of the OSD object can be visually unappealing.